Data scrubbing is a background task that periodically inspects memory or storage for errors, and then corrects them using redundant data in the forms of checksums, error correcting codes, or copies of data.
Many applications use data scrubbing. For example, a file system may utilize data scrubbing for checking the integrity of data stored on storage devices, and a database may utilize data scrubbing for checking the integrity of database records.
As part of a data scrubbing operation, an application may generally identify which data to perform the scrubbing on by passing the data's locations to the storage device (such as start logical block address and length). The storage device may then read the specified data and check its integrity.
The above information disclosed in this Background section is only for enhancement of understanding of the background of the invention, and therefore it may contain information that does not form the prior art that is already known to a person of ordinary skill in the art.